package com.tangyuan.system.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.lang.Long;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;

/**
 * 系统用户 实体类。
 * @author TangYuan
 * @since 1.0
 */
@Data
@Table(value = "sys_user")
public class SysUserEntity {
    
    /** 用户id */
    @Id(keyType = KeyType.Auto)
    private Long id;
    
    /** 部门id */
    @Column(value = "dept_id")
    private Long deptId;
    
    /** 登录账号 */
    @Column(value = "login_name")
    private String loginName;
    
    /** 用户名 */
    @Column(value = "username")
    private String username;
    
    /** 昵称 */
    @Column(value = "nickname")
    private String nickname;
    
    /** 密码 */
    @Column(value = "password")
    private String password;
    
    /** 手机号 */
    @Column(value = "phone")
    private String phone;
    
    /** 邮箱 */
    @Column(value = "email")
    private String email;
    
    /** 性别（0未知，1男，2女） */
    @Column(value = "sex")
    private Integer sex;
    
    /** 头像地址 */
    @Column(value = "avatar_path")
    private String avatarPath;
    
    /** 小程序openid */
    @Column(value = "applet_openid")
    private String appletOpenid;
    
    /** 公众号openid */
    @Column(value = "gzh_openid")
    private String gzhOpenid;
    
    /** 用户类型（0系统用户，1注册用户） */
    @Column(value = "user_type")
    private Integer userType;
    
    /** 账号状态（0正常，1停用） */
    @Column(value = "status")
    private Integer status;
    
    /** 删除标记（0存在，1删除） */
    @Column(value = "del_flag")
    private Integer delFlag;
    
    /** 盐 */
    @Column(value = "salt")
    private String salt;
    
    /** 生日 */
    @Column(value = "birthday")
    private Date birthday;
    
    /** 身份证 */
    @Column(value = "id_card")
    private String idCard;
    
    /** 最后登录ip */
    @Column(value = "login_ip")
    private String loginIp;
    
    /** 最后登录时间 */
    @Column(value = "login_date")
    private Date loginDate;
    
    /** 创建者 */
    @Column(value = "create_by")
    private Long createBy;
    
    /** 创建时间 */
    @Column(value = "create_time")
    private Date createTime;
    
    /** 更新者 */
    @Column(value = "update_by")
    private Long updateBy;
    
    /** 更新时间 */
    @Column(value = "update_time")
    private Date updateTime;
    
    /** 备注 */
    @Column(value = "remark")
    private String remark;
}
